package com.enhe.gck.pojo;
 import java.util.Date;
 import java.lang.String;
 import java.lang.Integer;
 import java.math.BigDecimal;
 import java.lang.Long;
 import java.lang.Float;
 import java.lang.Double;
 import java.lang.Boolean;

 import com.enhe.gck.CarbonRelationType;
 import com.kuangkie.carbon.record.Updatable;
 import com.kuangkie.carbon.record.annotation.Attribute;
 import com.kuangkie.carbon.record.annotation.CarbonRecord;
 import com.kuangkie.carbon.record.annotation.RecordCode;
 import com.alibaba.fastjson.annotation.JSONField;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.List;

 import com.kuangkie.carbon.record.annotation.Relation;
 import com.kuangkie.carbon.uid.model.UidManager;
 import lombok.Data;

// 开单记录
@Data
@CarbonRecord("hwane20727")
public class BillingRecords implements Updatable{
    @JSONField(name="唯一编码")
    @RecordCode
    private Long id = UidManager.getLongUID();

    // 重量(t)
    @JSONField(name="重量(t)")
    @Attribute("hwan20729")
    private BigDecimal weight;

    // 下单数量(袋)
    @JSONField(name="下单数量(袋)")
    @Attribute("hwan20730")
    private Integer bags;

    // 备注
    @JSONField(name="备注")
    @Attribute("hwan20731")
    private String remark;

    // 税后单价($)
    @JSONField(name="税后单价($)")
    @Attribute("hwan20732")
    private BigDecimal unit;

    // 税率(%)
    @JSONField(name="税率(%)")
    @Attribute("hwan20733")
    private BigDecimal taxRate;

    // 币种
    @JSONField(name="币种")
    @Attribute("hwan20734")
    private String currency;
    @JSONField(name="计算汇率")
    @Attribute("hwan20752")
    private BigDecimal exchange;

    // 删除
    @JSONField(name="删除")
    @Attribute("hwan20750")
    private Boolean isDelete;

    @JSONField(name="状态")
    @Attribute("hwan20753")
    private String state;

    @JSONField(name="生成")
    @Attribute("hwan20756")
    private Boolean isOk;
    @JSONField(name="美元金额")
    @Attribute("hwan20757")
    private BigDecimal money;
    @JSONField(name="刚果法郎金额")
    @Attribute("hwan20773")
    private BigDecimal moneyG;

    @JSONField(name="组合付款")
    @Attribute("hwan20800")
    private Boolean isCombination;
    @JSONField(name="美元付款金额")
    @Attribute("hwan20804")
    private BigDecimal moneyM;
    @JSONField(name="刚果法郎付款金额")
    @Attribute("hwan20807")
    private BigDecimal moneyF;
    @JSONField(name="币种2")
    @Attribute("hwan20825")
    private String currency2;


    @Relation(CarbonRelationType.RR_开单记录_散户名称_客户管理)
    private Customer customer;
    @Relation(CarbonRelationType.RR_开单记录_产品_产品管理)
    private Goods goods;
    @Relation(CarbonRelationType.RR_开单记录_车牌号_车辆管理)
    private Car car;
    @Relation(CarbonRelationType.RR_开单记录_司机_司机管理)
    private Driver driver;
    @Relation(CarbonRelationType.RR_开单记录_银行账户_银行账户)
    private Bank bank;

    @Relation(CarbonRelationType.RR_开单记录_银行账户2_银行账户)
    private Bank bank2;

    @Relation(CarbonRelationType.RR_开单记录_充值记录_充值记录)
    private List<Recharge> recharges;
    @Relation(CarbonRelationType.RR_开单记录_订单记录_订单记录)
    private List<Order> orders;

    @Attribute("hwane20727_cd")
    private LocalDateTime createTime;
    @Override
    public String getRecordCode() {
        return this.id==null ? null : this.id.toString();
    }
}